#!/bin/sh
set -e

cd "$(dirname "$0")/.."

VERSION="$(grep "^__version__" "./octodns/__init__.py" | sed -e "s/.* = '//" -e "s/'$//")"

echo "## create test venv ############################################################"
TMP_DIR=$(mktemp -d -t ci-XXXXXXXXXX)
python3 -m venv $TMP_DIR
. "$TMP_DIR/bin/activate"
pip install build setuptools
echo "## environment & versions ######################################################"
python --version
pip --version
echo "## validate setup.py build #####################################################"
python -m build --sdist --wheel
echo "## validate wheel install ###################################################"
pip install dist/*$VERSION*.whl
echo "## validate tests can run against installed code ###############################"
# filename needs to resolved independently as pip requires quoting and doesn't support
# wildcards when installing extra requirements
# (see: https://pip.pypa.io/en/stable/user_guide/#installing-from-wheels)
wheel_file=$(ls dist/*$VERSION*.whl)
pip install "${wheel_file}[test]"
pytest --disable-network
echo "## complete ####################################################################"
